package cn.lcsjsxy.yxz.Singleton;

public class SingletonTest2 {

    /*
    懒汉式：
    好处：延迟对象的创建。
 	目前的写法坏处：线程不安全。--->到多线程内容时，再修改
 	*/

    public static void main(String[] args) {

        Order order1 = Order.getInstance();
        Order order2 = Order.getInstance();

        System.out.println(order1 == order2);

    }

    //懒汉式
    static class Order {

        //1.私有化类的构造器
        private Order() {
        }

        //2.声明当前类的对象,没有初始化   (对象也必须声明为static)
        private static Order instance = null;

        //3.声明public.static的返回当前类对象的方法
        public static Order getInstance() {
            if (instance == null) {
                instance = new Order();
            }
            return instance;
        }

    }

}
